﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Rey : Pieza
    {
        string nombre = "REY";
        int idcolor;
        int posx;
        int posy;

        public Rey(int id, int x, int y)
        {
            idcolor = id;
            posx = x;
            posy = y;
        }
   
             
        public string getnombre()
        {
 	        return nombre;
        }

        public int getposicionx()
        {
 	        return posx;
        }

        public int getposiciony()
        {
 	        return posy;
        }

        public int getIdcolor()
        {
 	        return idcolor;
        }

        public void setposicionx(int x)
        {
 	        posx=x;
        }

        public void setposiciony(int y)
        {
 	        posy=y;
        }

        public bool mover(int x, int y)
        {
            if (posiblemovimiento(x, y))
            {
                setposicionx(x);
                setposiciony(y);
                return true;
            }
            else
            {
                return false;
            }
        }
        //Funcion que permite comprobar si el movimiento requerido se encuentra entre los posibles 
        private bool posiblemovimiento(int x, int y)
        {
            if (dentrodelTablero(posx+1,posy)==true && x==posx+1 && y==posy)
            {
                return true;
            }
            else if (dentrodelTablero(posx-1,posy)==true && x==posx-1 && y==posy)
            {
                return true;
            }
            else if (dentrodelTablero(posx,posy+1)==true && x==posx && y==posy+1)
            {
                return true;
            }
            else if (dentrodelTablero(posx, posy - 1) == true && x == posx && y == posy - 1)
            {
                return true;
            }
            else
            {
                return false;
            }

        }
        //Funcion que permite comprobar que los movientos esten dentro del tablero
        public bool dentrodelTablero(int num1, int num2)
        {
            return (num1<8 && num1>=0 && num2<8 && num2>=0);
        }

    }
}
